#ifndef __MEM_TYPE_H__
#define __MEM_TYPE_H__

#include <asm/type.h>
#include <macros.h>

/*
 * Type 1: Usable (normal) RAM
 * Type 2: Reserved - unusable
 * Type 3: ACPI reclaimable memory
 * Type 4: ACPI NVS memory
 * Type 5: Area containing bad memory
*/
struct mem_type {
    u64_t addr;
    u64_t len;
    u32_t type;
} __attribute__((packed));

struct mem_map {
    i32_t size;
    struct mem_type mem[MAX_MEM_SIZE];
} __attribute__((packed));

#endif